﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using System.Runtime.Serialization;

using Ivy.Common.Framework.Base;

namespace Hsmp.SocietyOperation.BusinessEntity
{
    [Serializable]
    [DataContract]
    public class SocietyManagementCommitteeMember 
    {
        #region  Variable & constant
        Int32 lUserKey = -1;
        Int32 lSocietyKey = -1;
        Int32 lRoleKey = -1;

        string lUserLoginID = string.Empty;
        string lUserFirstName = string.Empty;
        string lUserLastName = string.Empty;
        string lUserFullName = string.Empty;
        string lUserSex = string.Empty;
        string lUserPrimaryEmailID = string.Empty;
        string lUserContactNumber = string.Empty;
        DateTime lStartDateOfMembership = DateTime.Now;
        Nullable<DateTime> lEndDateOfMembership = null;
        string lUserRoleCode = string.Empty;
        string lUserRoleName = string.Empty;

        #endregion  Variable & constant

        #region Constructor & Destructor
        #endregion Constructor & Destructor

        #region Properties
        //[DataMember]
        [DataMember]
        public Int32 UserKey
        {
            get
            {
                return lUserKey;
            }
            set
            {
                lUserKey = value;
                
            }
        }

        [DataMember]
        public Int32 SocietyKey
        {
            get
            {
                return lSocietyKey;
            }
            set
            {
                lSocietyKey = value;
              
            }
        }

        [DataMember]
        public Int32 RoleKey
        {
            get
            {
                return lRoleKey;
            }
            set
            {
                lRoleKey = value;

            }
        }

        [DataMember]
        public string UserLoginID
        {
            get
            {
                return lUserLoginID;
            }
            set
            {
                lUserLoginID = value;
                
            }
        }

        [DataMember]
        public string UserFirstName
        {
            get
            {
                return lUserFirstName;
            }
            set
            {
                lUserFirstName = value;
                
            }
        }
        
        [DataMember]
        public string UserLastName
        {
            get
            {
                return lUserLastName;
            }
            set
            {
                lUserLastName = value;
                
            }
        }
       
        [DataMember]
        public string UserPrimaryEmailID
        {
            get
            {
                return lUserPrimaryEmailID;
            }
            set
            {
                lUserPrimaryEmailID = value;
                
            }
        }
        
        [DataMember]
        public string UserFullName
        {
            get
            {
                return lUserFullName;
            }
            set
            {
                lUserFullName = value;
            }
        }
       
        [DataMember]
        public string UserSex
        {
            get
            {
                return lUserSex;
            }
            set
            {
                lUserSex = value;
            }
        }

        [DataMember]
        public string UserContactNumber
        {
            get
            {
                return lUserContactNumber;
            }
            set
            {
                lUserContactNumber = value;
            }
        }

        [DataMember]
        public DateTime StartDateOfMembership
        {
            get
            {
                return lStartDateOfMembership;
            }
            set
            {
                lStartDateOfMembership = value;
                
            }
        }

        [DataMember]
        public Nullable<DateTime> EndDateOfMembership
        {
            get
            {
                return lEndDateOfMembership;
            }
            set
            {
                lEndDateOfMembership = value;
                
            }
        }

        [DataMember]
        public string UserRoleCode
        {
            get
            {
                return lUserRoleCode;
            }
            set
            {
                lUserRoleCode = value;
               
            }
        }

        [DataMember]
        public string UserRoleName
        {
            get
            {
                return lUserRoleName;
            }
            set
            {
                lUserRoleName = value;

            }
        }
        

        #endregion Properties

        #region Public Methods
        #endregion Public Methods

        #region Events
        #endregion Events

        #region Private Methods
        #endregion Private Methods
    }
}
